#include <stdio.h>
#include <stdlib.h>

/*
XXX...X.XXX.XXX.X.X.XXX.XXX.XXX.XXX.XXX
X.X...X...X...X.X.X.X...X.....X.X.X.X.X
X.X...X.XXX.XXX.XXX.XXX.XXX...X.XXX.XXX
X.X...X.X.....X...X...X.X.X...X.X.X...X
XXX...X.XXX.XXX...X.XXX.XXX...X.XXX.XXX
*/

char num[10][5][4] =
    {
        {"XXX", "X.X", "X.X", "X.X", "XXX"}, // 0
        {"..X", "..X", "..X", "..X", "..X"}, // 1
        {"XXX", "..X", "XXX", "X..", "XXX"}, // 2
        {"XXX", "..X", "XXX", "..X", "XXX"}, // 3
        {"X.X", "X.X", "XXX", "..X", "..X"}, // 4
        {"XXX", "X..", "XXX", "..X", "XXX"}, // 5
        {"XXX", "X..", "XXX", "X.X", "XXX"}, // 6
        {"XXX", "..X", "..X", "..X", "..X"}, // 7
        {"XXX", "X.X", "XXX", "X.X", "XXX"}, // 8
        {"XXX", "X.X", "XXX", "..X", "XXX"}  // 9
};

int l[101] = {0};
int n = 0;
char tmp[3] = "0";

int main()
{
    scanf("%d", &n);
    getchar();
    for (int i = 0; i < n; ++i)
    {
        tmp[0] = getchar();
        l[i] = atoi(tmp);
    }

    for (int h = 0; h < 5; ++h)
    {
        for (int i = 0; i < n - 1; ++i)
        {
            printf(num[l[i]][h]);
            printf(".");
        }
        printf(num[l[n - 1]][h]);
        printf("\n");
    }
    return 0;
}